package com.core.base.searchForm.support;

import org.hibernate.Session;

import com.core.base.searchForm.ISearchForm;
import com.core.base.searchForm.hql.IBaseHQLSearchForm;
import com.core.page.PagerResult;

/**
 * 定义search一般调用方法
 * 
 * @author pt-chenqw
 *
 */
@SuppressWarnings("hiding")
public interface ISearchFormSupport<T> {
	
	/**
	 * 基于不使用HQL的searchform分页查询
	 * @param searchClass
	 * @param session
	 * @param searchForm
	 * @return
	 */
	public <T> PagerResult<T> findBySearchForm(Class<?> searchClass, Session session,ISearchForm searchForm);

	/**
	 * 基于HQL的searchform进行分页查询
	 * @param cls
	 * @param session
	 * @param searchForm
	 * @return
	 */
	public <T> PagerResult<T> searchByHQLSearchForm(Class<?> cls,Session session,IBaseHQLSearchForm searchForm);
	
}
